/**
 * 
 */
package com.proyecto.controller;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;

import com.proyecto.modelo.Rol;
import com.proyecto.modelo.Usuario;
import com.proyecto.servicio.UsuarioSrv;


@Controller
@RequestMapping("/login/*")
@SessionAttributes("login_user")
public class LoginController {

	@Autowired
	private UsuarioSrv usuarioSrv;
	
	@RequestMapping("/loginView.do")
	public ModelAndView showLoginForm() {
		return new ModelAndView("login/loginView");
	}
	
	@RequestMapping("/login.do")
	public ModelAndView login(HttpServletRequest req, @RequestParam("username")  String username, @RequestParam("password")  String password  ) {
		Map<String, Object> model = new HashMap<String, Object>();
		Usuario user = usuarioSrv.obtenerUsuario(username, password);
		if(user != null){
			req.getSession().setAttribute("login_user", user);
			if(user.getRoles().contains(Rol.ADMIN)){
				return new ModelAndView("redirect:/usuario/listaUsuarios.do",model);
			}
		}
		model.put("usuario", username); 
		
		return new ModelAndView("login/home", model);
	}
	

	
	
}
